home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 March / EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso / earcd / devel / vbcc-src / machines / m68k / machine.h < prev   
C/C++ Source or Header  |  1999-01-01  |  2KB  |  52 lines

  1.  
  2. #include "dt.h"
  3.  
  4. /*  This struct can be used to implement machine-specific           */
  5. /*  addressing-modes.                                               */
  6. struct AddressingMode{
  7.     int basereg;
  8.     long dist;
  9.     int skal;
  10.     int dreg;
  11. };
  12.  
  13. /*  The number of registers of the target machine.                  */
  14. #define MAXR 24
  15.  
  16. /*  Number of commandline-options the code-generator accepts.       */
  17. #define MAXGF 20
  18.  
  19. /*  If this is set to zero vbcc will not generate ICs where the     */
  20. /*  target operand is the same as the 2nd source operand.           */
  21. /*  This can sometimes simplify the code-generator, but usually     */
  22. /*  the code is better if the code-generator allows it.             */
  23. #define USEQ2ASZ 0
  24.  
  25. /*  This specifies the smallest integer type that can be added to a */
  26. /*  pointer.                                                        */
  27. #define MINADDI2P SHORT
  28.  
  29. /*  If the bytes of an integer are ordered most significant byte    */
  30. /*  byte first and then decreasing set BIGENDIAN to 1.              */
  31. #define BIGENDIAN 1
  32.  
  33. /*  If the bytes of an integer are ordered lest significant byte    */
  34. /*  byte first and then increasing set LITTLEENDIAN to 1.           */
  35. #define LITTLEENDIAN 0
  36.  
  37. /*  Note that BIGENDIAN and LITTLEENDIAN are mutually exclusive.    */
  38.  
  39. /*  If switch-statements should be generated as a sequence of       */
  40. /*  SUB,TST,BEQ ICs rather than COMPARE,BEQ ICs set this to 1.      */
  41. /*  This can yield better code on some machines.                    */
  42. #define SWITCHSUBS 1
  43.  
  44. /*  In optimizing compilation certain library memcpy/strcpy-calls   */
  45. /*  with length known at compile-time will be inlined using an      */
  46. /*  ASSIGN-IC if the size is less or equal to INLINEMEMCPY.         */
  47. /*  The type used for the ASSIGN-IC will be UNSIGNED|CHAR.          */
  48. #define INLINEMEMCPY (1<<30)
  49.  
  50. /*  We have some target-specific variable attributes.               */
  51. #define HAVE_TARGET_ATTRIBUTES
  52.